使用Cisco Packet Tracer抓取应用层协议报文
本文记录如何用Cisco Packet Tracer抓取丰富多样的应用层协议报文,包括HTTP、HTTPS、DNS、DHCP、FTP、SMTP、POP3。
1. 准备工作
本文旨在记录如何用Cisco Packet Tracer抓取丰富多样的应用层协议报文。其他层的报文,大多可以在抓应用层协议报文的同时得到,毕竟应用层报文需要层层封装,再发出去。
首先安装Cisco Packet Tracer,在Cisco Networking Acadamy注册后就能下载,目前最新版本是7.2.1.0404
。
在仿真平台上抓取报文或者分析网络,基本步骤为:
- 建立网络拓扑结构
- 配置网络参数
- 模拟网络操作,抓取报文(比如想抓HTTP报文,那就打开浏览器访问网页服务器),分析网络
(1)建立网络拓扑结构
遵循MWE(Minimal Working Example)原则,抓取大多数应用层报文,只需要一台PC机和一台服务器就够了,如下图所示:
图1 网络拓扑图
为了让界面更加简洁,我习惯把设备名称改变PC
和Server
(原为PC0
和Server0
)。把Device Model Labels(PC-PT
和Server-PT
)隐藏起来,方法为:Cisco Packet Tracer -> Preferences -> Interface
,取消勾选Show Device Model Labels
。
(2)配置参数
点击PC配置IP地址(点击PC -> Desktop -> IP Configuration
),将IP地址设为192.168.1.79
,子网掩码自动生成。服务端也做类似操作,IP地址跟客户端在同一个网络即可,这里我设为192.168.1.80
。
这样,PC与Server就连通了。Server默认已经安装了网页服务器,可以在这里查看:点击Server -> Services -> HTTP
。
图2 服务端HTTP设置
2. 抓取HTTP和HTTPS报文
在上述的基础上,打开浏览器(点击PC -> Desktop -> WebBrowser
),在地址栏输入URL,点击Go
,回到主界面,在Play Controls
点击Play按钮开始抓包(见图1)。
- HTTP报文:
192.168.1.80
,浏览器自动补全为http://192.168.1.80
- HTTPS报文:
https://192.168.1.80
3. 抓取DNS报文
要抓取DNS报文,首先得在服务端配置DNS服务器(点击Server -> Services -> DNS
):
Name
输入域名,比如:sparkandshine.net
Address
输入主机的IP地址,在这个例子中为192.168.1.80
如下图所示:
图3 服务端DNS设置
客户端配置DNS Server(点击PC -> Desktop -> IP Configuration
)为192.168.1.80
。
现在可以抓取DNS报文了,打开客户端的浏览器,输入域名sparkandshine.net
,点击Go
,回到主界面,在Play Controls
点击Play按钮开始抓包。
4. 抓取DHCP报文
在服务端,启用并配置DHCP服务器(点击Server -> Services -> DHCP
),如下图所示:
图4 服务端DHCP设置
在客户端,点击PC -> Desktop -> IP Configuration -> 选中DHCP
,如下图所示。回到主界面,在Play Controls
点击Play按钮开始抓包。
图5 客户端使用DHCP配置IP地址
PS:在这里,DHCP并没有配置好DNS Server。后续抓取Email相关报文,需要重新设置DNS Server。
5. 抓取FTP报文
在服务端,启用并配置FTP服务器(点击Server -> Services -> FTP
),已经有一个FTP账户了(用户名和密码皆为cisco
)。
在客户端,点击PC -> Desktop -> Command Prompt
打开PC端的命令行,输入ftp 192.168.1.80
回车,记得回到主界面,在Play Controls
点击Play按钮开始抓包。接下来输入用户名cisco
和密码cisco
进行验证,成功登录后,就可以进行文件传输等操作了。
C:\>ftp 192.168.1.80
Trying to connect...192.168.1.80
Connected to 192.168.1.80
220- Welcome to PT Ftp server
Username:cisco
331- Username ok, need password
Password:
230- Logged in
(passive mode On)
ftp>
ftp>help
?
cd
delete
dir
get
help
passive
put
pwd
quit
ftp>
ftp>quit
221- Service closing control connection.
PS:输入密码的时候,屏幕没有显示***
,但实际上有输入,输完自豪按回车就可以了。
6. Email
在服务端,启用SMTP和POP3,设置域名,创建两个电子邮箱(点击Server -> Services -> EMAIL
),如下图所示:
图6 服务端配置EMAIL
同时,设置发送和接收电子邮件服务器,在DNS设置中(点击Server -> Services -> DNS
)增加两条A记录:
smtp.sparkandshine.net A Record 192.168.1.80
pop3.sparkandshine.net A Record 192.168.1.80
在PC端,打开邮件客户端(点击PC -> Desktop -> Email
),进行如下设置:
图7 设置邮件客户端
点击Save
,跳转到Mail Browser界面,抓取SMTP和POP3包方法如下:
- 抓取SMTP报文:点击
Compose
写一封邮件(不妨发给自己,pc@sparkandshine.net
) - 抓取POP3报文:点击
Receive
收取邮件
PS:自己设置企业邮箱时,可参照该博文《网易、腾讯、阿里免费企业邮箱注册及邮件客户端IMAP设置》
7. 抓取TELNET报文
没看到服务端有关于Telnet的设置,在客户端的Command Prompt
进行如下操作,然而并不能登录服务器,求指点。
C:\>telnet 192.168.1.80
Trying 192.168.1.80 ...
% Connection refused by remote host
Cisco Packet Tracer中配置TELNET https://blog.csdn.net/qq_41745698/article/details/83210807